#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>

int main()
{
    struct stat st;

    int ret = stat("04.txt", &st);
    if(ret == -1) {
        perror("stat error: ");
        exit(-1);
    }
    
    printf("file size: %d\n", st.st_size);

    // 文件类型，判断其是不是普通文件
    if((st.st_mode & S_IFMT) == S_IFREG) {
        printf("此文件为普通文件\n");
    }
    
    // 所有者对文件的操作权限
    if(st.st_mode & S_IRUSR) {
        printf("    r");
    }
    if(st.st_mode & S_IWUSR) {
        printf("    w");
    }
    if(st.st_mode & S_IXUSR) {
        printf("    x");
    }
    printf("\n");

    return 0;
}

